if not GLOBAL.rawget(GLOBAL, "TheNet") or GLOBAL.TheNet:GetIsServer() then
	GLOBAL.AddRoom(
		"musha_world_watcher",
		{
			colour = {r = .1, g = .8, b = .1, a = .50},
			value = GLOBAL.GROUND.FOREST,
			contents = {
				countprefabs = {
					musha_watcher = 1
				},
				distributepercent = 0.5
			}
		}
	)
	GLOBAL.AddTask(
		"musha_world_watcher",
		{
			locks = GLOBAL.LOCKS.NONE,
			keys_given = {GLOBAL.KEYS.TIER1},
			room_choices = {
				["musha_world_watcher"] = 1
			},
			room_bg = GLOBAL.GROUND.FOREST,
			background_room = "Clearing",
			colour = {r = .1, g = .8, b = .1, a = .50}
		}
	)
	AddTaskSetPreInitAny(
		function(tasksetdata)
			if type(tasksetdata) == "table" and type(tasksetdata.tasks) == "table" then
				local tab = {
					"musha_world_watcher"
				}
				for k, v in pairs(tab) do
					if v then
						table.insert(tasksetdata.tasks, v)
					end
				end
			end
		end
	)

	AddTaskSetPreInitAny(
		function(tasksetdata)
			if type(tasksetdata) == "table" and type(tasksetdata.tasks) == "table" then
				local tab = {
					"musha_world_watcher"
				}
				for k, v in pairs(tab) do
					if v then
						table.insert(tasksetdata.tasks, v)
					end
				end
			end
		end
	)
end

if GLOBAL.rawget(GLOBAL, "TheNet") and not (GLOBAL.TheNet:GetIsClient() or GLOBAL.TheNet:GetIsServer()) then
	local Musha_language = {
		[0] = "en",
		[1] = "en",
		[16] = "ru",
		[19] = "ko",
		[22] = "cn"
	}
	local myname =
		string.sub(string.match(string.match(GLOBAL.debug.getinfo(1, "S").source, "/[^/]*/[^/]*$"), "/[^/]*/"), 2, -2)

	InitializeModInfo_Old = GLOBAL.KnownModIndex.InitializeModInfo
	GLOBAL.KnownModIndex.InitializeModInfo = function(self, modname)
		if modname == myname and GLOBAL.Profile:GetLanguageID() == 22 then
			local env = {folder_name = myname}
			local fn
			-- if GLOBAL.TheFrontEnd:GetActiveScreen().name == "ServerCreationScreen" then
			-- fn =GLOBAL.kleiloadlua(GLOBAL.MODS_ROOT .. myname .. "/modinfo_" .. Musha_language[GLOBAL.Profile:GetLanguageID()] .. ".lua")
			fn = GLOBAL.kleiloadlua(GLOBAL.MODS_ROOT .. myname .. "/modinfo_cn.lua")
			-- elseif GLOBAL.TheFrontEnd:GetActiveScreen().name == "ModsScreen" then
			-- fn = GLOBAL.kleiloadlua(GLOBAL.MODS_ROOT .. myname .. "/modinfo_client.lua")
			-- else
			-- fn = GLOBAL.kleiloadlua(GLOBAL.MODS_ROOT .. myname .. "/modinfo.lua")
			-- end
			local status, r = GLOBAL.RunInEnvironment(fn, env)
			env.modinfo_message = ""

			-- -- If modinfo hasn't been updated to specify compatibility yet, set it to true for both modes and set a flag
			if env.dont_starve_compatible == nil then
				env.dont_starve_compatible = true
				env.dont_starve_compatibility_specified = false
			end
			if env.reign_of_giants_compatible == nil then
				env.reign_of_giants_compatible = true
				env.reign_of_giants_compatibility_specified = false
			end
			if env.dst_compatible == nil then
				env.dst_compatible = true
				env.dst_compatibility_specified = false
			end

			return env
		end
		return InitializeModInfo_Old(self, modname)
	end
end
